草庐IT

Android JSONObject 与 GSON

全部标签

java - 在 Gson 双序列化中关闭科学记数法

当我使用Gson序列化一个包含接近于零的double值的对象时,它使用的是科学的E-notation:{"doublevaule":5.6E-4}我如何告诉Gson生成{"doublevaule":0.00056}相反?我可以实现自定义JsonSerializer,但它会返回JsonElement。我将不得不返回一个JsonPrimitive,其中包含一个无法控制其序列化方式的double。谢谢! 最佳答案 为什么不为Double提供一个新的序列化器?(您可能必须重写您的对象以使用Double而不是double)。然后在序列化程序中

java - GSON : Expected BEGIN_OBJECT but was STRING

我在尝试将JSON解码为对象时遇到GSON错误。错误(ExpectedBEGIN_OBJECTbutwasSTRINGatline3column22)指向下方输入的第3行。我是否没有根据Bean正确映射JSON?importjavax.xml.bind.JAXBElement;publicclassBusinessPartnerCreate{protectedJAXBElementpartnerType;protectedPersonperson;protectedCompanycompany;protectedStringemail;protectedStringphone;prot

java - 如何正确地将特定对象的列表转换为 Gson?

我正在从事SpringMVC项目。我正在使用hibernate。我想将AJAX与jQuery结合使用,以从我的SpringController获取一些JSON。不幸的是,当我实现Gson时我的应用程序中的方法出现错误:java.lang.UnsupportedOperationException:Attemptedtoserializejava.lang.Class:org.hibernate.proxy.HibernateProxy.Forgottoregisteratypeadapter?我必须使用哪个适配器以及以何种方式使用?错误发生在方法的最后一行:publicStringme

java - 你如何让 GSON 忽略 null 或空对象以及空数组和列表?

我正在使用Gson,我处于必须缩小某些Json字符串大小的情况。为此,我希望它不将空对象、空值、空列表和数组放入Json字符串中。有直接的方法吗?让我澄清一下:我希望跳过所有内容:emptyProp:{}或emptyArray:[]。我希望跳过任何只包含空属性的对象。 最佳答案 只要您不为GsonBuilder设置serializeNulls(),默认情况下会排除Null值。空列表的一种方法是创建一个JsonSerializerclassCollectionAdapterimplementsJsonSerializer>{@Over

java - 如何使用 Gson 序列化 Optional<T> 类?

我有一个具有以下属性的对象。privatefinalStringmessageBundle;privatefinalListmessageParams;privatefinalStringactionBundle;privatefinalMapdata;privatefinalOptional>ttl;privatefinalOptionalbadgeNumber;privatefinalOptionalcollapseKey;该对象在一个库中,我不想仅仅为了序列化目的而修改它,并且希望避免创建另一个DTO的成本。如何序列化/反序列化可选属性?Optional没有默认构造函数(apac

Gson int类型被转换成double问题解决(完美解决)

一、问题复现1.1、BaseResponse类classBaseResponse(valcode:Int=-1,valmessage:String?=null){vardata:T?=nullfunisSuccess():Boolean{returncode==0}}1.2、不做任何处理,直接用Gson.fromJson解析valjson="{\"code\":200,\"message\":\"成功\",\"data\":{\"ints\":200,\"doubles\":200.98,\"floats\":29.0986,\"longs\":29323627832875342,\"stri

【HarmonyOS】【JAVA UI】HarmonyOS如何集成Gson

 如何集成在应用级的build.gradle添加如下代码,(如下图所示)implementation'com.google.code.gson:gson:2.8.0'api讲解toJson:说明:把object对象转化为json字符串示例//todo设置数据HashMaphashMap=newHashMap();hashMap.put("name","luck");hashMap.put("age","18");//todo初始化gson对象Gsongson=newGson();//todo把User对象转化为json对象json=gson.toJson(hashMap);TextResult

java - 为具有不同对象的嵌套 json 改造 gson 转换器

我的JSON结构如下-{"status":true,"message":"RegistrationComplete.","data":{"user":{"username":"user88","email":"user@domain.com","created_on":"1426171225","last_login":null,"active":"1","first_name":"User","last_name":"","company":null,"phone":null,"sign_up_mode":"GOOGLE_PLUS"}}}以上格式很常见。只有data键可以保存不同类型

java - 为具有不同对象的嵌套 json 改造 gson 转换器

我的JSON结构如下-{"status":true,"message":"RegistrationComplete.","data":{"user":{"username":"user88","email":"user@domain.com","created_on":"1426171225","last_login":null,"active":"1","first_name":"User","last_name":"","company":null,"phone":null,"sign_up_mode":"GOOGLE_PLUS"}}}以上格式很常见。只有data键可以保存不同类型

android - GSON:期望一个字符串,但是是 BEGIN_OBJECT?

我正在尝试使用GSON来解析一些非常简单的JSON。这是我的代码:Gsongson=newGson();InputStreamReaderreader=newInputStreamReader(getJsonData(url));Stringkey=gson.fromJson(reader,String.class);这是从url返回的JSON:{"access_token":"abcdefgh"}我遇到了这个异常:E/AndroidRuntime(19447):com.google.gson.JsonSyntaxException:java.lang.IllegalStateExce